The disclosures herein relate generally to nodes and more particularly to a system, method, and computer program product for mapping a system memory in a multiple node information handling system.
Intel Architecture-32 (IA-32) information handling systems that include more than four gigabytes of physical memory use an addressing mode known as Physical Address Extension (PAE) mode. Some applications and operating systems, however, can require the use of memory that resides below the four gigabyte boundary.
In a multiple processor non-uniform memory architecture (NUMA) system that includes multiple nodes, each node typically includes some local memory. Where a particular node requires memory that is not local to the node, then the node generally expended additional overhead to access the required memory from another node. For example, if a node attempts to execute an operating system or application that requires the use of memory that resides below the four gigabyte boundary and the node does not include local memory below the four gigabyte boundary, then the node may use memory in another node that is below the four gigabyte boundary. This use of the memory of another node may reduce the performance of the system.
Accesses to memory in a system with more than four gigabytes typically require the use of operating system (OS) library extensions. The use of OS library extensions may require additional processing to be performed for these accesses and may reduce the performance of the system. For applications that do not use this memory, the operating system may use the memory beyond four gigabyte boundary for paging.
It would be desirable to be able to map a system memory in a multiple processor system to allow a node to execute as many programs as possible in local memory. Accordingly, what is needed is a system, method, and computer program product for mapping a system memory in a multiple node information handling system.
One embodiment, accordingly, provides an information handling system for detecting a first memory in a first node and detecting a second memory in a second node coupled to the first node. The system ensures that a first set of contiguous addresses is mapped to a portion of the first memory where the first set of contiguous addresses each have a value lower than a four gigabyte address, and ensures that a second set of contiguous addresses is mapped to a portion of the second memory where the second set of contiguous addresses each have a value lower than the four gigabyte address.
A principal advantage of this embodiment is that various shortcomings of previous techniques are overcome. For example, processing efficiency in a multiple processor node may be increased by ensuring that memories in each node are mapped to include addresses between zero and four gigabytes.